﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace PEAnalyzer.ModeView.PEInfoPage
{
    class ImportFunctionItem : INotifyPropertyChanged
    {
        public event PropertyChangedEventHandler PropertyChanged;

        ulong m_nSerialNumber;
        string m_strFunctionName;
        ulong m_ulAddress;
        string m_strModuleName;

        public ImportFunctionItem()
        {

        }

        public ImportFunctionItem(ulong SerialNumber, string FunctionName, ulong Address, string ModuleName)
        {
            m_nSerialNumber = SerialNumber;
            m_strFunctionName = FunctionName;
            m_ulAddress = Address;
            m_strModuleName = ModuleName;
        }

        public ulong SerialNumber
        {
            get => m_nSerialNumber;
            set
            {
                m_nSerialNumber = value;
                this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("SerialNumber"));
            }
        }

        public ulong Addresss
        {
            get => m_ulAddress;
            set
            {
                m_ulAddress = value;
                this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("Addresss"));
            }
        }

        public string FunctionName
        {
            get => m_strFunctionName;
            set
            {
                m_strFunctionName = value;
                this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("FunctionName"));
            }
        }

        public string ModuleName
        {
            get => m_strModuleName;
            set
            {
                m_strModuleName = value;
                this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("ModuleName"));
            }
        }
    }
}
